home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 001-025 / scopedisk11 / cprof12 / p-sieve.rpt < prev    next >
Text File  |  1995-03-18  |  1KB  |  57 lines

  1.  C  Profiler.  (c) 1987  by  Michael F Purcell
  2.  
  3.         Statement   Execution   Report
  4.  
  5.        :/*****************************************************************************
  6.        : ***
  7.        : *** The Sieve of Eratosthenes
  8.        : ***
  9.        : ***/
  10.        :
  11.        :#include "time.h"
  12.        :#include "stdio.h"
  13.        :#define size 8190
  14.        :unsigned char flag[size+1];
  15.        :void main()
  16.        :{
  17.        :  register int i,k,p,primes;
  18.        :  int iter;
  19.        :  long t1,t2;
  20.        :  
  21.        :
  22.       1:  time(&t1);
  23.       1:  for (iter=1;iter<=100;iter++)
  24.       1:  {
  25.       1:    
  26.     100:    for (i=0;i<=size;i++)
  27.     100:      
  28.  819100:      flag[i]=1;
  29.  819100:
  30.  819100:    
  31.  819100:
  32.     100:    primes=0;
  33.     100:    for (i=0;i<=size;i++)
  34.     100:      {
  35.  819100:      if (flag[i]==1)
  36.  819100:         {
  37.  189900:         p=i+i+3;
  38.  189900:          for(k=i+p;k<=size;k+=p)
  39.  189900:            
  40. 1499900:            flag[k]=0;
  41. 1499900:          
  42. 1499900:
  43.  189900:          primes++;
  44.  189900:          }
  45.  189900:       
  46.  819100:      }
  47.  819100:  
  48.     100: }
  49.     100:  
  50.       1:  time(&t2);
  51.       1:  printf("primes=%d in %ld seconds for 100 iterations\n",primes,(t2-t1));
  52.       1:
  53.       1:}
  54.        :
  55.        :
  56.        :
  57.